package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.UserDto;
import com.zzyl.vo.UserVo;

import java.util.List;

/**
 * @FileName UserService
 * @Description
 * @Author Sword
 * @date 2025-10-08
 **/
public interface UserService {

    /**
     * 用户分页
     *
     * @param userDto
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageResponse<UserVo> page(UserDto userDto, Integer pageNum, Integer pageSize);

    /**
     * 用户列表
     *
     * @param userDto
     * @return
     */
    List<UserVo> list(UserDto userDto);

    /**
     * 用户添加
     *
     * @param userDto
     */
    void add(UserDto userDto);

    /**
     * 用户修改
     *
     * @param userDto
     */
    void updateUser(UserDto userDto);

    /**
     * 删除用户
     *
     * @param userIds
     * @return
     */
    void remove(String userIds);

    /**
     * 启用或禁用用户
     *
     * @param userDto
     */
    void isEnable(UserDto userDto);

    /**
     * 当前用户
     *
     * @return
     */
    UserVo currentUser(Long userId);

    /**
     * 重置密码
     *
     * @param userId
     */
    void resetPasswords(Long userId);
}
